Tutorial 1. how to deploy Window Azure Virtual Machines with Python

In a nutshell, create_virtual_machine_deployment() launches a virtual machine instance on Windows Azure.
It requires to prepare and configure the four steps prior to execute and the functions are as follow:

  • Obtaining credentials: ServiceManagementService()
  • Creating Cloud Services: create_hosted_service()
  • Specifying blob storage Services: OSVirtualHardDisk()
  • Configuring access information for a virtual machine: LinuxConfigurationSet() or WindowsConfigurationSet()

Prerequisite

  • Python SDK for Windows Azure (pip install azure)

Import Python SDK for Azure

Let's continue to create a virtual machine on Windows Azure.
There is a tutorial for this step on the web: http://www.windowsazure.com/en-us/develop/python/how-to-guides/service-management/#CreateVM

It seems we need to import azure python package first. Let's test if it's installed.


In [184]:
from azure import *

Is it working fine without seeing errors? Otherwise python sdk needs to be installed from pip installation or the github repository directly.

Configure Certificate and Subscription id

python sdk needs to know your subscrition id and certificate file path to create a virtual machine.


In [185]:
subscription_id = ""
certificate_path = ""

We are not going to explicitly describe the credential here. Instead, we assume we have setup azure-cli tool and the credentials are in ~/.azure directory.
~/.azure/config.json has the information and the .pem file is also in the directory.

The following code snippet for credentials is from azure-sdk-for-python/test/azuretest/util.py with a slight change. https://github.com/WindowsAzure/azure-sdk-for-python/blob/master/test/azuretest/util.py


In [186]:
import os
import json

class Credentials(object):
    '''
    Azure credentials needed to run Azure.
    '''
    def __init__(self):
        configFilename = os.environ["HOME"] + "/.azure/config.json"
        tmpName = os.path.join(os.getcwd(), configFilename)
        
        if not os.path.exists(tmpName):
            errMsg = "Cannot run Azure when the expected config file containing Azure credentials, '%s', does not exist!" % (tmpName)
            raise EnvironmentError(errMsg)

        with open(tmpName, "r") as f:
            self.ns = json.load(f)
        self.config_path = os.path.dirname(tmpName)

    def getManagementCertFile(self):
        try:
            return self.ns[u'managementcertfile'] 
        except:
            return self.config_path + "/managementCertificate.pem"
    def getSubscriptionId(self):
        return self.ns[u'subscriptionid'] 

    def getSubscription(self):
        return self.ns[u'subscription'] 
    
    def getServiceBusKey(self):
        return self.ns[u'servicebuskey'] 

    def getServiceBusNamespace(self):
        return self.ns[u'servicebusns']

    def getStorageServicesKey(self):
        return self.ns[u'storageserviceskey']

    def getStorageServicesName(self):
        return self.ns[u'storageservicesname']

    def getLinuxOSVHD(self):
        return self.ns[u'linuxosvhd']

    def getProxyHost(self):
        return self.ns[u'proxyhost']

    def getProxyPort(self):
        return self.ns[u'proxyport']

In [187]:
cert = Credentials()

subscription_id = cert.getSubscription()
certificate_path = cert.getManagementCertFile()

Let's check if they are loaded correctly.


In [188]:
print subscription_id
print certificate_path


a6ca42fe-74c7-43e9-a441-0ab9906441da
/home/azureuser/.azure/managementCertificate.pem

Now we have loaded the subscription id and certificate path. Next step is testing ServiceManagementService function to see if the credential is successfully loaded.

Load ServiceManagementService()


In [189]:
from azure.servicemanagement import *

sms = ServiceManagementService(subscription_id, certificate_path)

If you don't see any errors, it probably works fine.
Let's try rest of the parts from the tutorial.

Create Cloud Services (previously, hosted services)

Windows Azure requires to have Cloud Services. For more information, please read this: http://www.windowsazure.com/en-us/manage/services/cloud-services/what-is-a-cloud-service/


In [190]:
name = 'myvm'
location = 'West US'

# You can either set the location or an affinity_group
# sms.create_hosted_service(service_name=name, label=name, location=location)

The code above mostly generates errors due to the name conflict with existing one or location contraints. Let's change a bit for the name and the location.


In [191]:
# If you want to see the description of the function, simply type the function name with ? or ?? for detail
# e.g. sms.create_hosted_service?

In [192]:
import hashlib
import time

hash = hashlib.sha1()
hash.update(str(time.time()))
rand = hash.hexdigest()
rand10 = hash.hexdigest()[:10]

In [193]:
# import random
# name = 'myvm-' + ''.join(str(x) for x in random.sample(range(0,10), 5))
name = 'myvm-' + rand10
# In my case, I need to use 'Central US' location instead of 'West US' due to the location constraint of my subscription.
location = "Central US"

# You can either set the location or an affinity_group
sms.create_hosted_service(service_name=name, label=name, location=location)

If it works fine, the next step is specifying a blob file for a virtual machine image. This is the way how Windows Azure Virtual Machine works.
For more information, please see here: http://www.windowsazure.com/en-us/develop/python/how-to-guides/blob-service/

Specify a blob file for the virtual machine

OSVirtualHardDisk() will allow this step.
It's lack of description in python though, so please see here for as how to use the function: http://msdn.microsoft.com/en-us/library/windowsazure/ee460804.aspx#OSVirtualHardDisk


In [194]:
# OSVirtualHardDisk( <tab> shows what parameters are required.

According to the tutorial, OSVirtualHardDisk needs an image_name and media_link at least.
We have to specify which image and media link we will use.

Let's try to see what images we can choose from the list.

Find os image

List images through list_os_images()


In [195]:
result = sms.list_os_images()
for image in result:
    print('Name: ' + image.name)
    print('Label: ' + image.label)
    print('OS: ' + image.os)
    print('Category: ' + image.category)
    print('Description: ' + image.description)
    print('Location: ' + image.location)
    print('Affinity group: ' + image.affinity_group)
    print('Media link: ' + image.media_link)
    print('')


Name: 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2013-Preview-Ultimate-12.0.20617.1
Label: Visual Studio Ultimate 2013 Preview
OS: Windows
Category: Microsoft Visual Studio Group
Description: The Visual Studio Ultimate 2013 Preview image enables you to quickly create a development environment for either Web and SQL development or SharePoint 2013 development on Windows Azure. The image includes a complete installation of Visual Studio 2013 Ultimate preview (by using it you agree to Microsoft Supplemental Software License Terms for Microsoft Visual Studio 2013 Product Family Preview which can be found on the image desktop), SharePoint 2013 Trial and SQL Server 2012 Express. The image also contains scripts to configure the virtual machine for either Web and SQL development or for SharePoint development which can be found on c:\ConfigureDeveloperDesktop.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.2-x64-v5.8.8.1
Label: RightImage CentOS 6.2 x64 v5.8.8.1
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.3 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8
Label: RightImage CentOS 6.3 x64 v5.8.8
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.2 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.5
Label: RightImage CentOS 6.3 x64 v5.8.8.5
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.3 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.6
Label: RightImage CentOS 6.3 x64 v5.8.8.6
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.3 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.7
Label: RightImage CentOS 6.3 x64 v5.8.8.7
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.3 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.8
Label: RightImage CentOS 6.3 x64 v5.8.8.8
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.3 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.9
Label: RightImage CentOS 6.3 x64 v5.8.8.9
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.3 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.4
Label: RightImage-CentOS-6.4-x64-v13.4
OS: Linux
Category: RightScale with Linux
Description: 
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.5.0.1
Label: RightImage CentOS 6.4 x64 v13.5.0.1
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.4 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.5.0.2
Label: RightImage CentOS 6.4 x64 v13.5.0.2
OS: Linux
Category: RightScale with Linux
Description: CentOS 6.4 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.4
Label: RightImage-Ubuntu-12.04-x64-v13.4
OS: Linux
Category: RightScale with Linux
Description: 
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.0.1
Label: RightImage Ubuntu 12.04 x64 v13.5.0.1
OS: Linux
Category: RightScale with Linux
Description: Ubuntu 12.04 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8
Label: RightImage Ubuntu 12.04 x64 v5.8.8
OS: Linux
Category: RightScale with Linux
Description: Ubuntu 12.04 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.5
Label: RightImage Ubuntu 12.04 x64 v5.8.8.5
OS: Linux
Category: RightScale with Linux
Description: Ubuntu 12.04 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.7
Label: RightImage Ubuntu 12.04 x64 v5.8.8.7
OS: Linux
Category: RightScale with Linux
Description: Ubuntu 12.04 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.8
Label: RightImage Ubuntu 12.04 x64 v5.8.8.8
OS: Linux
Category: RightScale with Linux
Description: Ubuntu 12.04 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-Enterprise
Label: BizTalk Server 2013 Enterprise
OS: Windows
Category: Microsoft BizTalk Server Group
Description: Microsoft BizTalk Server 2013 Enterprise (64-bit) on Windows Server 2012. This image contains the Enterprise edition of BizTalk Server 2013. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.
Location: 
Affinity group: 
Media link: 

Name: 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-Evaluation
Label: BizTalk Server 2013 Evaluation
OS: Windows
Category: Microsoft BizTalk Server Group
Description: Microsoft BizTalk Server 2013 Evaluation (64-bit) on Windows Server 2012. This image contains the Evaluation edition of BizTalk Server 2013. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.
Location: 
Affinity group: 
Media link: 

Name: 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-Standard
Label: BizTalk Server 2013 Standard
OS: Windows
Category: Microsoft BizTalk Server Group
Description: Microsoft BizTalk Server 2013 Standard (64-bit) on Windows Server 2012. This image contains the Standard edition of BizTalk Server 2013. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.
Location: 
Affinity group: 
Media link: 

Name: 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-63APR20130415
Label: OpenLogic CentOS 6.3
OS: Linux
Category: OpenLogic
Description: This distribution of Linux is based on CentOS version 6.3 and is provided by OpenLogic. It contains an installation of the Basic Server packages.
Location: 
Affinity group: 
Media link: 

Name: a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201305.01-en.us-127GB.vhd
Label: Windows Server 2008 R2 SP1, May 2013
OS: Windows
Category: Microsoft Windows Server Group
Description: Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs.  It provides you with powerful tools to react to business needs with greater control and confidence.
Location: 
Affinity group: 
Media link: 

Name: a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201306.01-en.us-127GB.vhd
Label: Windows Server 2008 R2 SP1, June 2013
OS: Windows
Category: Microsoft Windows Server Group
Description: Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs.  It provides you with powerful tools to react to business needs with greater control and confidence.
Location: 
Affinity group: 
Media link: 

Name: a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201305.01-en.us-127GB.vhd
Label: Windows Server 2012 Datacenter, May 2013
OS: Windows
Category: Microsoft Windows Server Group
Description: Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.
Location: 
Affinity group: 
Media link: 

Name: a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201306.01-en.us-127GB.vhd
Label: Windows Server 2012 Datacenter, June 2013
OS: Windows
Category: Microsoft Windows Server Group
Description: Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.
Location: 
Affinity group: 
Media link: 

Name: a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-Preview-201306.01-en.us-127GB.vhd
Label: Windows Server 2012 R2 Preview
OS: Windows
Category: Microsoft Windows Server Group
Description: At the heart of the Microsoft Cloud OS vision, Windows Server 2012 R2 brings Microsoft's experience delivering global-scale cloud services into your infrastructure. It offers enterprise-class performance, flexibility for your applications and excellent economics for your datacenter and hybrid cloud environment. This is a preview release for Windows Server 2012 R2. Virtual Machines created using the preview release will expire on Jan 15th, 2014. This image shouldn't be used for production deployments and strictly used for evaluation/testing purposes. Support for the Preview release of Windows Server 2012 R2 is available through http://social.msdn.microsoft.com/Forums/en-US/WAVirtualMachinesforWindows
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130225-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.04.2 LTS (amd64 20130225) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130325-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.04.2 LTS (amd64 20130325) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130415-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.04.2 LTS (amd64 20130415) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130516-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.04.2 LTS (amd64 20130516) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130527-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.04.2 LTS (amd64 20130527) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130603-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.04.2 LTS (amd64 20130603) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130624-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.04.2 LTS (amd64 20130624) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_10-amd64-server-20130414-en-us-30GB
Label: Ubuntu Server 12.10
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.10 (amd64 20130414) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.10 will be available until 2014-04-18.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_10-amd64-server-20130526-en-us-30GB
Label: Ubuntu Server 12.10
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.10 (amd64 20130526) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.10 will be available until 2014-04-18.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_10-amd64-server-20130602-en-us-30GB
Label: Ubuntu Server 12.10
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.10 (amd64 20130602) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.10 will be available until 2014-04-18.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_10-amd64-server-20130616-en-us-30GB
Label: Ubuntu Server 12.10
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.10 (amd64 20130616) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.10 will be available until 2014-04-18.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_10-amd64-server-20130707-en-us-30GB
Label: Ubuntu Server 12.10
OS: Linux
Category: Canonical
Description: Ubuntu Server 12.10 (amd64 20130707) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.10 will be available until 2014-04-18.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-13_04-amd64-server-20130423-en-us-30GB
Label: Ubuntu Server 12.10
OS: Linux
Category: Canonical
Description: Ubuntu Server 13.04 (amd64 20130423) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 13.04 will be available until 2014-01-25.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-13_04-amd64-server-20130501-en-us-30GB
Label: Ubuntu Server 13.04
OS: Linux
Category: Canonical
Description: Ubuntu Server 13.04 (amd64 20130501) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 13.04 will be available until 2014-01-25.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-13_04-amd64-server-20130525-en-us-30GB
Label: Ubuntu Server 13.04
OS: Linux
Category: Canonical
Description: Ubuntu Server 13.04 (amd64 20130525) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 13.04 will be available until 2014-01-25.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-13_04-amd64-server-20130601-en-us-30GB
Label: Ubuntu Server 13.04
OS: Linux
Category: Canonical
Description: Ubuntu Server 13.04 (amd64 20130601) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 13.04 will be available until 2014-01-25.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-13_04-amd64-server-20130615-en-us-30GB
Label: Ubuntu Server 13.04
OS: Linux
Category: Canonical
Description: Ubuntu Server 13.04 (amd64 20130615) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 13.04 will be available until 2014-01-25.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-13_04-amd64-server-20130706-en-us-30GB
Label: Ubuntu Server 13.04
OS: Linux
Category: Canonical
Description: Ubuntu Server 13.04 (amd64 20130706) for Windows Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 13.04 will be available until 2014-01-25.  Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. More information can be found at:
http://www.ubuntu.com/business/server
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_2-LTS-amd64-server-20130722-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130722 of Ubuntu Server 12.04.2 LTS DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_2-LTS-amd64-server-20130725-en-us-30GB
Label: Ubuntu Server 12.04.2 LTS DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130725 of Ubuntu Server 12.04.2 LTS DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-quantal-12_10-amd64-server-20130710-en-us-30GB
Label: Ubuntu Server 12.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130710 of Ubuntu Server 12.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-quantal-12_10-amd64-server-20130714-en-us-30GB
Label: Ubuntu Server 12.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130714 of Ubuntu Server 12.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-quantal-12_10-amd64-server-20130717-en-us-30GB
Label: Ubuntu Server 12.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130717 of Ubuntu Server 12.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-quantal-12_10-amd64-server-20130721-en-us-30GB
Label: Ubuntu Server 12.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130721 of Ubuntu Server 12.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-quantal-12_10-amd64-server-20130724-en-us-30GB
Label: Ubuntu Server 12.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130724 of Ubuntu Server 12.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-raring-13_04-amd64-server-20130709-en-us-30GB
Label: Ubuntu Server 13.04 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130709 of Ubuntu Server 13.04 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-raring-13_04-amd64-server-20130713-en-us-30GB
Label: Ubuntu Server 13.04 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130713 of Ubuntu Server 13.04 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-raring-13_04-amd64-server-20130716-en-us-30GB
Label: Ubuntu Server 13.04 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130716 of Ubuntu Server 13.04 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-raring-13_04-amd64-server-20130720-en-us-30GB
Label: Ubuntu Server 13.04 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130720 of Ubuntu Server 13.04 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-raring-13_04-amd64-server-20130723-en-us-30GB
Label: Ubuntu Server 13.04 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130723 of Ubuntu Server 13.04 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-saucy-13_10-amd64-server-20130721-en-us-30GB
Label: Ubuntu Server 13.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130721 of Ubuntu Server 13.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-saucy-13_10-amd64-server-20130722-en-us-30GB
Label: Ubuntu Server 13.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130722 of Ubuntu Server 13.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-saucy-13_10-amd64-server-20130723-en-us-30GB
Label: Ubuntu Server 13.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130723 of Ubuntu Server 13.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-saucy-13_10-amd64-server-20130724-en-us-30GB
Label: Ubuntu Server 13.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130724 of Ubuntu Server 13.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-saucy-13_10-amd64-server-20130725-en-us-30GB
Label: Ubuntu Server 13.10 DAILY
OS: Linux
Category: Canonical
Description: DAILY BUILD 20130725 of Ubuntu Server 13.10 DAILY (amd64) for Windows Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build
Location: 
Affinity group: 
Media link: 

Name: b4590d9e3ed742e4a1d46e5424aa335e__SUSE-Linux-Enterprise-Server-11-SP2-v134
Label: SUSE Linux Enterprise Server 11 SP2
OS: Linux
Category: SUSE
Description: SUSE Linux Enterprise Server is a highly reliable, scalable, and secure server operating system, built to power mission-critical workloads in both physical and virtual environments. It is an affordable, interoperable, and manageable open source foundation. With it, enterprises can cost-effectively deliver core business services, enable secure networks, and simplify the management of their heterogeneous IT infrastructure, maximizing efficiency and value. Customization of these images can be done at http://susestudio.com
Location: 
Affinity group: 
Media link: 

Name: b4590d9e3ed742e4a1d46e5424aa335e__SUSE-Linux-Enterprise-Server-11-SP3-v103
Label: SUSE Linux Enterprise Server 11 SP3
OS: Linux
Category: SUSE
Description: SUSE Linux Enterprise Server is a highly reliable, scalable, and secure server operating system, built to power mission-critical workloads in both physical and virtual environments. It is an affordable, interoperable, and manageable open source foundation. With it, enterprises can cost-effectively deliver core business services, enable secure networks, and simplify the management of their heterogeneous IT infrastructure, maximizing efficiency and value. Customization of these images can be done at http://susestudio.com
Location: 
Affinity group: 
Media link: 

Name: b4590d9e3ed742e4a1d46e5424aa335e__openSUSE-12.3-v120
Label: openSUSE 12.3
OS: Linux
Category: SUSE
Description: openSUSE 12.3 brings updated desktop environments and software, lot of polishing, a brand new KDE theme, complete systemd integration and many other features. Customization of these images can be done at http://susestudio.com
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-iis75-v5.8.8
Label: RightImage Windows 2008R2 SP1 x64 iis75 v5.8.8
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with IIS 7.5 and RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-iis75-v5.8.8.11
Label: RightImage Windows 2008R2 SP1 x64 iis75 v5.8.8.11
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with IIS 7.5 and RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8
Label: RightImage Windows 2008R2 SP1 x64 sqlsvr2012 v5.8.8
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.1
Label: RightImage Windows 2008R2 SP1 x64 sqlsvr2012 v5.8.8.1
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.12
Label: RightImage Windows 2008R2 SP1 x64 sqlsvr2012 v5.8.8.12
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.15
Label: RightImage Windows 2008R2 SP1 x64 sqlsvr2012 v5.8.8.15
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-v5.8.8
Label: RightImage Windows 2008R2 SP1 x64 v5.8.8
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-v5.8.8.11
Label: RightImage Windows 2008R2 SP1 x64 v5.8.8.11
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v13.4.12.2
Label: RightImage Windows 2008R2 x64 iis7.5 v13.4.12.2
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2008R2 with IIS 7.5 and RightLink 5.8
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012-v13.4.3.1
Label: RightImage Windows 2008R2 x64 sqlsvr2012 v13.4.3.1
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2008R2 with MS SQL Server 2012 Standard and RightLink v5.8
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012ent-v13.4.3.1
Label: RightImage Windows 2008R2 x64 sqlsvr2012ent v13.4.3.1
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2008R2 with MS SQL Server 2012 Enterprise and RightLink v5.8
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v13.4.12.2
Label: RightImage Windows 2008R2 x64 v13.4.12.2
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2008R2 with RightLink 5.8
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v13.4.12.2
Label: RightImage Windows 2012 x64 iis8 v13.4.12.2
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with IIS 8 and RightLink 5.8
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v5.8.8.12
Label: RightImage Windows 2012 x64 iis8 v5.8.8.12
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with IIS 8 and RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v13.4.12.2
Label: RightImage Windows 2012 x64 v13.4.12.2
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with RightLink 5.8
Location: 
Affinity group: 
Media link: 

Name: bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v5.8.8.12
Label: RightImage Windows 2012 x64 v5.8.8.12
OS: Windows
Category: RightScale with Windows Server
Description: Windows 2012 with RightLink 5.8.
Location: 
Affinity group: 
Media link: 

Name: c6e0f177abd8496e934234bd27f46c5d__SharePoint-2013-Trial-6-19-2013
Label: SharePoint Server 2013 Trial
OS: Windows
Category: Microsoft SharePoint Group
Description: Microsoft SharePoint Server 2013 Trial on Windows Server 2012 Datacenter. Virtual Machines created with this trial image will expire on December 16, 2013. This image includes a complete installation of SharePoint Server 2013. Some SharePoint Server 2013 components require additional setup and configuration. You can set-up Active Directory and SQL Server required for your SharePoint farm by provisioning additional virtual machines. Minimum recommended virtual machine size for this image is Large. To evaluate the advanced capabilities of SharePoint Server 2013, we recommend that you use a virtual machine size of Extra Large.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2008R2SP2-Enterprise-CY13SU04-SQL2008-SP2-10.50.4021.0
Label: SQL Server 2008 R2 SP2 Enterprise On Windows Server 2008 R2 SP1
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2 Service Pack 1. This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2008R2SP2-Standard-CY13SU04-SQL2008-SP2-10.50.4021.0
Label: SQL Server 2008 R2 SP2 Standard On Windows Server 2008 R2 SP1
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2 Service Pack 1. This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-CU4-11.0.3368.0-Enterprise-ENU-Win2012
Label: SQL Server 2012 SP1 Enterprise On Windows Server 2012
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2012 SP1 Enterprise on Windows Server 2012. This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-CU4-11.0.3368.0-Enterprise-ENU-Win2K8R2
Label: SQL Server 2012 SP1 Enterprise On Windows Server 2008 R2
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2012 SP1 Enterprise on Windows Server 2008 R2. This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-CU4-11.0.3368.0-Standard-ENU-Win2012
Label: SQL Server 2012 SP1 Standard On Windows Server 2012
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2012 SP1 Standard on Windows Server 2012. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-Enterprise-CY13SU04-SQL11-SP1-CU3-11.0.3350.0-B
Label: SQL Server 2012 SP1 Enterprise On Windows Server 2008 R2 SP1
OS: Windows
Category: Microsoft SQL Server Group
Description: Microsoft SQL Server 2012 SP1 Enterprise on Windows Server 2008 R2 Service Pack 1. This image contains the full version of SQL Server. Some SQL Server 2012 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-Enterprise-CY13SU04-SQL2012-SP1-11.0.3350.0-Win2012
Label: SQL Server 2012 SP1 Enterprise On Windows Server 2012
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2012 SP1 Enterprise on Windows Server 2012. This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-Standard-CY13SU04-SQL11-SP1-CU3-11.0.3350.0-B
Label: SQL Server 2012 SP1 Standard On Windows Server 2008 R2 SP1
OS: Windows
Category: Microsoft SQL Server Group
Description: Microsoft SQL Server 2012 SP1 Standard on Windows Server 2008 R2 Service Pack 1. This image contains the full version of SQL Server. Some SQL Server 2012 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-Standard-CY13SU04-SQL2012-SP1-11.0.3350.0-Win2012
Label: SQL Server 2012 SP1 Standard On Windows Server 2012
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2012 SP1 Standard on Windows Server 2012. Some SQL Server 2012 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-Web-CY13SU04-SQL11-SP1-CU3-11.0.3350.0
Label: SQL Server 2012 SP1 Web On Windows Server 2008 R2 SP1
OS: Windows
Category: Microsoft SQL Server Group
Description: Microsoft SQL Server 2012 SP1 Web on Windows Server 2008 R2 Service Pack 1. This image contains the full version of SQL Server. Some SQL Server 2012 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2014CTP1-Evaluation-11.0.9120.5-Win2012
Label: SQL Server 2014 CTP1 Evaluation Edition On Windows Server 2012
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2014 CTP1 Evaluation Edition on Windows Server 2012. Virtual Machines created by using this SQL Server Evaluation Edition will expire on December 16th, 2013. This image contains the full version of SQL Server. Some SQL Server 2014 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Name: fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2014CTP1-Evaluation-11.0.9120.5-Win2012R2
Label: SQL Server 2014 CTP1 Evaluation Edition On Windows Server 2012 R2
OS: Windows
Category: Microsoft SQL Server Group
Description: SQL Server 2014 CTP1 Evaluation Edition on Windows Server 2012 R2. Virtual Machines created by using this SQL Server Evaluation Edition will expire on December 18th, 2013. This image contains the full version of SQL Server. Some SQL Server 2014 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher.
Location: 
Affinity group: 
Media link: 

Let say we want to use Ubuntu LTS 12.04.
I see the ubunte image and its name is b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_2-LTS-amd64-server-20130711-en-us-30GB


In [196]:
#Let's find images and pick the last one which might be the latest.

for image in result:
    if image.os == "Linux":
        if image.category == "Canonical":
            try:
                if image.label.index("12.04"):
                    image_name = image.name
            except:
                pass

In [197]:
print image_name


b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_2-LTS-amd64-server-20130725-en-us-30GB

It seems we successfully obtained the image_name from the gallery.
Now, we need to get media_link.

storage account, container and blob

The medialink is a hyperlink to a blob file. The blob storage requires three component to address the blob in URL format.
The storage account name, container, and blob file name are required in the following format: ```http://$storage
account.blob.core.windows.net/$container/$blobFor example,http://sally.blob.core.windows.net/movies/MOV1.AVI``` indicates sally account has a MOV1.AVI blob file in movies container.

Storage account

We assume we already have a storage account. If you need to create a storage account, please see the tutorial here: http://www.windowsazure.com/en-us/develop/python/how-to-guides/service-management/#CreateStorageService

There is a function to list storage accounts.


In [198]:
result = sms.list_storage_accounts()
for account in result:
    print('Service name: ' + account.service_name)
    print('Affinity group: ' + account.storage_service_properties.affinity_group)
    print('Location: ' + account.storage_service_properties.location)
    print('')
    storage_account = account.service_name


Service name: biolinux
Affinity group: 
Location: Central US

Service name: portalvhdsn88gtkkpb6hq5
Affinity group: 
Location: Central US

We pick the last one from the example above.


In [199]:
print storage_account


portalvhdsn88gtkkpb6hq5

Container and blob

Container and blob can be used or created if not exists. We use a sample name here.


In [200]:
container = name # "os-image"
blob = rand + "-ubuntu-12-04.vhd"

Container names can contain only letters, numbers, and hyphens. The name must start with a letter or a number. The name can't contain two consecutive hyphens.


In [201]:
windows_blob_url = "blob.core.windows.net"
media_link = "http://" + storage_account + "." + windows_blob_url + "/" + container + "/" + blob
media_link


Out[201]:
'http://portalvhdsn88gtkkpb6hq5.blob.core.windows.net/myvm-81ec2fbac6/81ec2fbac6bf6b0ec9e3ab1847040ae777a3042f-ubuntu-12-04.vhd'

We finally have image_name and media_link to run OSVirtualHardDisk()


In [202]:
os_hd = OSVirtualHardDisk(image_name, media_link)

In [203]:
vars(os_hd)


Out[203]:
{'disk_label': None,
 'disk_name': None,
 'host_caching': None,
 'media_link': 'http://portalvhdsn88gtkkpb6hq5.blob.core.windows.net/myvm-81ec2fbac6/81ec2fbac6bf6b0ec9e3ab1847040ae777a3042f-ubuntu-12-04.vhd',
 'os': u'',
 'source_image_name': u'b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_2-LTS-amd64-server-20130725-en-us-30GB'}

Configure authentication for Linux


In [204]:
# Linux VM configuration, you can use WindowsConfigurationSet
# for a Windows VM instead
linux_user_id = 'azureuser'
linux_user_passwd = 'mypassword1234@' # Not going to be used unless the fourth parameter below is changed to False
linux_config = LinuxConfigurationSet(name, linux_user_id, linux_user_passwd, True)

Set SSH keys

Instead of using pasword enabled authentication, SSH login can be used. We assume $HOME/.azure/.ssh is a home directory for storing ssh key pairs.
For generating ssh keys using OpenSSL, please see Introduction to Linux on Windows Azure


In [205]:
print vars(linux_config.ssh.public_keys)
print vars(linux_config.ssh.key_pairs)


{'public_keys': []}
{'key_pairs': []}

In [206]:
# !cd ~/.azure/
# !mkdir .ssh
# !openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem
# !openssl pkcs12 -in myCert.pem -inkey myPrivateKey.key -export -out myCert.pfx
# !chmod 600 myPrivateKey.key
# !openssl x509 -in myCert.pem -fingerprint -noout|cut -d"=" -f2|sed 's/://g'> thumbprint
# !ssh-keygen -f myPrivateKey,key -y >> ~/.ssh/authorized_keys

In [207]:
azure_config = os.environ["HOME"] + '/.azure'
thumbprint_path = azure_config + '/.ssh/thumbprint'
authorized_keys = "/home/" + linux_user_id + "/.ssh/authorized_keys"

Thumbprint (fingerprint) for certificate


In [208]:
try:
    thumbprint=open(thumbprint_path, 'r').readline().split('\n')[0]
except:
    thumbprint=None

thumbprint


Out[208]:
'C453D10B808245E0760CD015E88C5EB8A985ED7B'

In [209]:
publickey = PublicKey(thumbprint, authorized_keys)
linux_config.ssh.public_keys.public_keys.append(publickey)
# Key pair doesn't have to be stored on the virtual machine
#keypair = KeyPair(thumbprint, u'/home/azureuser/.ssh/id_rsa')#key_pair_path)
#linux_config.ssh.key_pairs.key_pairs.append(keypair)

In [210]:
print vars(publickey)
#print vars(keypair)
print vars(linux_config.ssh.public_keys.public_keys.list_type)
#print vars(linux_config.ssh.key_pairs)


{'path': '/home/azureuser/.ssh/authorized_keys', 'fingerprint': 'C453D10B808245E0760CD015E88C5EB8A985ED7B'}
{'__module__': 'azure.servicemanagement', '__doc__': None, '__init__': <function __init__ at 0x357e9b0>}

Configure Network Port

ssh uses port number 22.


In [211]:
network = ConfigurationSet()
network.configuration_set_type = 'NetworkConfiguration'
network.input_endpoints.input_endpoints.append(ConfigurationSetInputEndpoint('ssh', 'tcp', '22', '22'))

Adds a certificate to a cloud (hosted) service (.pfx only supported)


In [212]:
import base64
cert_data_path = azure_config + "/.ssh/myCert.pfx"
with open(cert_data_path, "rb") as bfile:
    cert_data = base64.b64encode(bfile.read())

In [213]:
cert_format = 'pfx'
cert_password = ''
cert_res = sms.add_service_certificate(service_name=name,
                            data=cert_data,
                            certificate_format=cert_format,
                            password=cert_password)

In [214]:
vars(cert_res)


Out[214]:
{'request_id': '6b333c955d90444c9cf29745c6837a40'}

Create a virtual machine


In [216]:
result = sms.create_virtual_machine_deployment(service_name=name,
    deployment_name=name,
    deployment_slot='production',
    label=name,
    role_name=name,
    system_config=linux_config,
    os_virtual_hard_disk=os_hd,
    network_config=network,
    role_size='Small')

create_virtual_machine_deployment() returns an identification number to trace its status.


In [217]:
request_id = result.request_id
request_id


Out[217]:
'99ccaba70e83456381ee31ee1302c2c3'

Check the deployment status

Two functions support tracing the status.

get_operation_status() returns the status in the form of 'Succeeded', 'Failed', or 'InProgress'.
(For more information, type sms.get_operation_status?)

get_deployment_by_name() returns the detailed information for a deployment.


In [220]:
status = sms.get_operation_status(request_id)
try:
    print vars(status.error)
except:
    print vars(status)


{'status': u'Succeeded', 'error': None, 'id': u'', 'http_status_code': u'200'}

Return detailed information for a deployment

Once the get_operation_status() notified the success of the deployment, detailed information can be provided by get_deployment_by_name() function.


In [221]:
service_name = name
deployment_name = name
props = sms.get_deployment_by_name(service_name, deployment_name)
vars(props)


Out[221]:
{'configuration': u'<ServiceConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">\r\n  <Role name="myvm-81ec2fbac6">\r\n    <Instances count="1" />\r\n  </Role>\r\n</ServiceConfiguration>',
 'created_time': u'2013-07-25T19:37:54Z',
 'deployment_slot': u'Production',
 'extended_properties': {},
 'input_endpoint_list': None,
 'label': u'bXl2bS04MWVjMmZiYWM2',
 'last_modified_time': u'',
 'locked': False,
 'name': u'myvm-81ec2fbac6',
 'persistent_vm_downtime_info': None,
 'private_id': u'55f4ad0e6d544aafb618d3e765205b35',
 'role_instance_list': <azure.servicemanagement.RoleInstanceList at 0x3bd2990>,
 'role_list': <azure.servicemanagement.RoleList at 0x3bd2f90>,
 'rollback_allowed': False,
 'sdk_version': u'',
 'status': u'Running',
 'upgrade_domain_count': u'1',
 'upgrade_status': None,
 'url': u'http://myvm-81ec2fbac6.cloudapp.net/'}

We finished several steps to deploy a Ubuntu 12.04 virutal machine image on Windows Azure with simple configurations.
We can add more details when we deploy a virtual machine, for example, network settings, affinity groups, etc can be specified.
Other advanced tutorials will explain the details.

Next tutorial is Connecting to a deployment and Installing a software in the deployment.